Introduction
สวัสดีครับทุกๆท่าน ช่วงนี้เราน่าจะได้เห็น L2 blockchains ใหม่ๆเกิดขึ้นมาอยู่พอสมควร อย่างไรก็ตาม หนึ่งในสิ่งหลักๆที่เป็นอุปสรรคก็คงจะหนีไม่พ้นเรื่องของ Interoperability (การติดต่อสื่อสาร) ระหว่าง L2 รวมทั้งปัญหาในเรื่องของ Fragmented Liquidity (สภาพคล่องแยกออกจากกัน) โดยหนึ่งในโปรเจคที่จะมาแก้ไขในส่วนนี้ และมีการใช้ OP Stacks ด้วยนั่นคือโปรเจค Polymer นั่นเองครับ ก่อนอื่น เราจะมาทำความรู้จัก Polymer โดยคร่าวๆกันครับ
Polymer
Polymer เน้นย้ำว่าในปัจจุบัน Ethereum rollups นั้นกำลังประสบปัญหาในเรื่องของ Interoperability โดย Polymer จะเลือกนำหน้าที่เป็น Port City ระหว่าง rollups ผ่านการใช้เทคโนโลยี Inter-Blockchain Communication (IBC) ของฝั่ง Cosmos โดยวิธีการนั้นก็จะเป็นการนำ Cosmos SDK มา top up บน OP stack ดังรูปด้านล่าง
![](https://storage.googleapis.com/papyrus_images/ba66b1fe5210b224dce6f521a66811f5.png)
![null https://docs.polymerlabs.org/docs/learn/background/polymer/](https://docs.polymerlabs.org/assets/images/ethereum-ibc-de5befa205c5c5e880b864f76198d5f8.png)
https://docs.polymerlabs.org/docs/learn/background/polymer
หมายเหตุ: ปัจจุบัน Polymer มีการระดมทุน Series A ได้ถึง 23 ล้านดอลล่าร์สหรัฐ
https://twitter.com/Polymer_Labs/status/1749810016738279542/photo/1
Competitor
คู่แข่ง ณ ปัจจุบันที่ผู้เขียนเห็นก็คงจะหนีไม่พ้น Omni Network ที่เลือกทำ L1 EVM blockchain เป็น global storage layer ไว้จัดการ cross-domain applications เพื่อเข้าถึง liquidity และ users จาก ecosystem ต่างๆได้
https://docs.omni.network/learn/introduction/
และอีกคู่แข่งสำคัญ คาดว่าคงหนีไม่พ้น zkLink Nova ที่ทีม zkLink พึ่งปล่อย Mainnet ออกมา เป็น L3 zkEVM Rollup ตัวแรกของ Ethereum โดยใช้ ZK Stack ของ zkSync Hyperchain ที่สามารถรวม liquidity จาก Layer 2 Ethereum Rollup ต่างๆผ่านการ deposit จากเชน L2 ต่างๆได้ เพื่อมาใช้งานบน zkLink Nova แทน
https://twitter.com/zkLinkNova/status/1764222347085820247
ซึ่งในวันนี้ เราจะมาโฟกัสการใช้งาน Polyverse Testnet ของ Polymers Labs ที่พึ่งปล่อยออกมาไม่กี่วันที่แล้วกัน โดยการสอนจับมือทำ Contribute ผ่าน tutorial ของเพื่อนทวิตซึ่งได้รับการ retweet จาก official account ครับ
https://twitter.com/Polymer_Labs/status/1766473574045647212
https://docs.polymerlabs.org/docs/quickstart/start
Prerequisite
ก่อนอื่นมาทำความรู้จัก Git, Github, Gitpod กันสั้นๆ
Git - ระบบ Version Control ที่ช่วยให้ Software Developer สามารถติดตามและควบคุมการเปลี่ยนแปลงในโค้ดได้อย่างมีระบบ
Github - Hosting Platform ที่ทำหน้าที่เก็บ Source Code โดยใช้ Git เป็นระบบควบคุมเวอร์ชัน
Gitpod - Cloud Platform ช่วย Software Developer รัน terminal บน cloud พัฒนาโปรเจกต์ได้ทันทีโดยไม่ต้องตั้งค่าสภาพแวดล้อมพัฒนาบนเครื่องคอมพิวเตอร์ส่วนตัว
โดยทุกท่านสามารถหาข้อมูลเพิ่มเติมได้ที่ลิ้งค์ด้านล่าง
https://devhub.in.th/blog/git-github
https://www.blognone.com/node/125078
https://www.freecodecamp.org/news/github-codespaces-vs-gitpod-cloud-based-dev-environments/
To-Do
ก่อนอื่น เข้าไปที่เว็ปไซต์ github.com/open-ibc/ibc-app-solidity-template
http://github.com/open-ibc/ibc-app-solidity-template
แล้วกดคลิ๊ก ปุ่มเขียว Use this template => Create a new repository
![null](https://images.mirror-media.xyz/publication-images/jfsMzFVlKQZx6pIRVF5EY.png?height=252&width=1309)
ตั้งชื่อ Repository name => ตั้ง Description (ทางเลือก) => ตั้ง Public => กดปุ่มเขียว Create repository
![null](https://images.mirror-media.xyz/publication-images/p3tj1x2UI_qE8sw76yDaz.png?height=797&width=804)
ไปที่ Code => Local => HTTPS => กด Copy url to clipboard
![null](https://images.mirror-media.xyz/publication-images/1DHFHIHHQG_WNxSuuvHMX.png?height=632&width=1574)
ไปที่ gitpod.io แล้วคลิ๊กที่ Continue with GitHub
![null](https://images.mirror-media.xyz/publication-images/vfhCkUwu-wO1KhtGezy9m.png?height=347&width=357)
ไปที่ปุ่มดำ New Workspace
![null](https://images.mirror-media.xyz/publication-images/jpUlHSUxgzqE3Pvqr2rBn.png?height=241&width=1089)
แล้วกดแปะลิ้งค์ url ที่ copy ไว้บน Select a repository แล้วจะได้หน้าตาดังภาพด้านล่าง จากนั้นกด Continue
![null](https://images.mirror-media.xyz/publication-images/vkXgthPh3H75Qq3RPGRN0.png?height=459&width=604)
กด Open อย่ากด Share
![null](https://images.mirror-media.xyz/publication-images/UsH_6hvARzTzx7jJZAOBZ.png?height=481&width=901)
รอสักพัก เราก็จะได้หน้าเวปดังรูป
![null](https://images.mirror-media.xyz/publication-images/4ZWra3IUOMPE2LHsF3Jg4.png?height=645&width=1898)
เขียน command ต่างๆ ดังนี้
เซต version node
nvm run 20
source /home/gitpod/.bashrc
จากนั้นลง foundry ด้วยคำสั่ง
curl -L https://foundry.paradigm.xyz | bash
foundryup
ลง just ตาม ลิ้งค์
wget -qO - 'https://proget.makedeb.org/debian-feeds/prebuilt-mpr.pub' | gpg --dearmor | sudo tee /usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg 1> /dev/null echo "deb [arch=all,$(dpkg --print-architecture) signed-by=/usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg] https://proget.makedeb.org prebuilt-mpr $(lsb_release -cs)" | sudo tee /etc/apt/sources.list.d/prebuilt-mpr.list sudo apt update
sudo apt install just
ทดสอบ dependencies
just install
ตั้งค่า environment
cp .env.example .env
คลิ๊กที่ไฟล์ .env แทปด้านซ้าย จะต้องใส่ข้อมูลเพิ่มดังนี้
![null](https://images.mirror-media.xyz/publication-images/71ALNT9dyU1s-LMfqGaOg.png?height=560&width=1719)
PRIVATE_KEY_1
- กรอก private key ของกระเป๋า Web3 (หมายความว่า ท่านว่าไม่ควรใช้กระเป๋าที่ท่านใช้งานปกติ แนะนำให้สร้างกระเป๋าใหม่หรือใช้งานกระเป๋าเพื่องาน developer) และเมื่อใช้งานเสร็จให้ลบออกOP_BLOCKSCOUT_API_KEY
- หาได้ที่ optimism-sepolia.blockscout.com/account/api-keyBASE_BLOCKSCOUT_API_KEY
- หาได้ที่ base-sepolia.blockscout.com/account/api-keyOP_ALCHEMY_API_KEY
- หาได้ที่ dashboard.alchemy.comBASE_ALCHEMY_API_KEY
- หาได้ที่ dashboard.alchemy.comจากนั้นกด run command
just do-it
หากสำเร็จแล้ว จะต้องขึ้นคำว่า “You’ve done it!” เป็นอันจบกระบวนการ
อย่าลืมส่งผลงานใน discord
![null](https://images.mirror-media.xyz/publication-images/CRefDuqLrjcR4DtPymyIZ.png?height=623&width=1419)
ส่วนรายละเอียดการ Contribute เพิ่มเติม สามารถหาได้ที่ลิ้งค์ด้านล่างครับ
https://docs.polymerlabs.org/docs/quickstart/start
https://zora.co/collect/zora:0xeccfb3c1f7b87a6db99951f8bb2a66ba59d6f3fc/premint-1
![highlight](/api/highlight?text=How%20to%3A%20Contribute%20to%20Polyverse%20Testnet%20%5BThai%5D&author=lordachita&url=%40lordachita&avatarUrl=https%3A%2F%2Fstorage.googleapis.com%2Fpapyrus_images%2F207c9cc65b034ed20a363eb0690a0dac.jpg&featuredImageUrl=https%3A%2F%2Fstorage.googleapis.com%2Fpapyrus_images%2Fba66b1fe5210b224dce6f521a66811f5.png&size=512)
![lordachita logo](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fpapyrus_images%2F207c9cc65b034ed20a363eb0690a0dac.jpg&w=384&q=75)